package test;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入一个字符串：");
        String str = scanner.nextLine();

        char[] chars = str.toCharArray();  // 将字符串转换为字符数组

        Map<Character, Integer> map = new HashMap<>();  // 使用HashMap记录每个字符出现的次数
        int maxCount = 0;  // 出现次数最多的字符的出现次数
        char maxChar = chars[0];  // 出现次数最多的字符

        for (char c : chars) {
            int count = map.getOrDefault(c, 0) + 1;  // 获取字符c的出现次数，若该字符还未出现过，则默认出现次数为0
            map.put(c, count);  // 更新字符c的出现次数

            if (count > maxCount) {  // 如果字符c的出现次数大于出现次数最多的字符的出现次数
                maxCount = count;  // 更新出现次数最多的字符的出现次数
                maxChar = c;  // 更新出现次数最多的字符
            }
        }

        System.out.printf("字符%s出现次数最多，出现了%d次。\n", maxChar, maxCount);
    }
}

